#ifndef MIDEA_COLLECTION_DYNAMIC
#define MIDEA_COLLECTION_DYNAMIC
#ifdef __cplusplus
extern "C"
{
#endif

#include "midea_collection_view_single.h"

#if midea_collection_view_show

// 初始化加载“卡片”的数量
#define MIDEA_COLLECTON_LOAD_ITEM_COUNT 3

// 懒加载一次加载UI的最少数量
#define MIDEA_COLLECTON_LAZY_MIN_ITEM_COUNT 2

    // collection视图UI懒加载方法
    // 从当前scroll的滑动位置再向后增加2页距离
    // 如果content_size < scroll + 2 * page_size
    // 则动态加载更多UI
    // 一次动态加载UI数量 = 当前每页展示的平均数量 （至少2个UI item）
    void midea_collection_dynamic_update(midea_collection_view_single *collection, int32_t load_count);
    // 滑动回调
    // 处理懒加载
    // LV_EVENT_SCROLL | LV_EVENT_SCROLL_BEGIN | LV_EVENT_SCROLL_END
    void midea_collection_scroll_event(lv_event_t *e);

    // 按索引区间刷新
    // 不能隔断式根据索引范围刷新
    // 因为UI索引和数据索引一一对应
    // 如果start_index前存在数据索引找不到对应的UI索引
    // 说明前面的刷新方法调用产生了错误
    // 需要更正start_index
    void update_midea_collection_with_range(midea_collection_view_single *collection, int32_t start_index, int32_t end_index);

#ifdef __cplusplus
} /*extern "C"*/
#endif
#endif
#endif